package com.ruoyi.system.domain;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.annotation.Excel;

/**
 * 数据源配置表 sys_datasource
 * 
 * @author ruoyi
 */
public class SysDatasource extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 数据源ID */
    @Excel(name = "数据源编号", cellType = com.ruoyi.common.annotation.Excel.ColumnType.NUMERIC)
    private Long datasourceId;

    /** 数据源名称 */
    @Excel(name = "数据源名称")
    @NotBlank(message = "数据源名称不能为空")
    @Size(min = 0, max = 100, message = "数据源名称不能超过100个字符")
    private String datasourceName;

    /** 数据源编码 */
    @Excel(name = "数据源编码")
    @NotBlank(message = "数据源编码不能为空")
    @Size(min = 0, max = 50, message = "数据源编码不能超过50个字符")
    private String datasourceCode;

    /** 数据源类型 */
    @Excel(name = "数据源类型")
    @NotBlank(message = "数据源类型不能为空")
    private String datasourceType;

    /** 驱动类名 */
    @NotBlank(message = "驱动类名不能为空")
    private String driverClassName;

    /** 连接URL */
    @NotBlank(message = "连接URL不能为空")
    private String url;

    /** 用户名 */
    @NotBlank(message = "用户名不能为空")
    private String username;

    /** 密码 */
    private String password;

    /** 数据源状态（0正常 1停用） */
    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
    private String status;

    /** 初始连接数 */
    private Integer initialSize;

    /** 最小连接池数量 */
    private Integer minIdle;

    /** 最大连接池数量 */
    private Integer maxActive;

    /** 配置获取连接等待超时的时间 */
    private Long maxWait;

    /** 数据库版本 */
    private String dbVersion;

    /** 备注 */
    private String remark;

    public Long getDatasourceId()
    {
        return datasourceId;
    }

    public void setDatasourceId(Long datasourceId)
    {
        this.datasourceId = datasourceId;
    }

    public String getDatasourceName()
    {
        return datasourceName;
    }

    public void setDatasourceName(String datasourceName)
    {
        this.datasourceName = datasourceName;
    }

    public String getDatasourceCode()
    {
        return datasourceCode;
    }

    public void setDatasourceCode(String datasourceCode)
    {
        this.datasourceCode = datasourceCode;
    }

    public String getDatasourceType()
    {
        return datasourceType;
    }

    public void setDatasourceType(String datasourceType)
    {
        this.datasourceType = datasourceType;
    }

    public String getDriverClassName()
    {
        return driverClassName;
    }

    public void setDriverClassName(String driverClassName)
    {
        this.driverClassName = driverClassName;
    }

    public String getUrl()
    {
        return url;
    }

    public void setUrl(String url)
    {
        this.url = url;
    }

    public String getUsername()
    {
        return username;
    }

    public void setUsername(String username)
    {
        this.username = username;
    }

    public String getPassword()
    {
        return password;
    }

    public void setPassword(String password)
    {
        this.password = password;
    }

    public String getStatus()
    {
        return status;
    }

    public void setStatus(String status)
    {
        this.status = status;
    }

    public Integer getInitialSize()
    {
        return initialSize;
    }

    public void setInitialSize(Integer initialSize)
    {
        this.initialSize = initialSize;
    }

    public Integer getMinIdle()
    {
        return minIdle;
    }

    public void setMinIdle(Integer minIdle)
    {
        this.minIdle = minIdle;
    }

    public Integer getMaxActive()
    {
        return maxActive;
    }

    public void setMaxActive(Integer maxActive)
    {
        this.maxActive = maxActive;
    }

    public Long getMaxWait()
    {
        return maxWait;
    }

    public void setMaxWait(Long maxWait)
    {
        this.maxWait = maxWait;
    }

    public String getDbVersion()
    {
        return dbVersion;
    }

    public void setDbVersion(String dbVersion)
    {
        this.dbVersion = dbVersion;
    }

    @Override
    public String getRemark()
    {
        return remark;
    }

    @Override
    public void setRemark(String remark)
    {
        this.remark = remark;
    }
}